package com.onlyoffice.demo.onlyoffice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.onlyoffice.demo.onlyoffice.domain.File;
import com.onlyoffice.demo.onlyoffice.domain.RenameFileReq;
import com.onlyoffice.model.documenteditor.Config;
import com.onlyoffice.model.documenteditor.config.editorconfig.Mode;
import org.springframework.web.multipart.MultipartFile;

/**
 * 文件服务接口
 *
 * @author ZWX
 * @date 2025-07-09
 */
public interface IFileService extends IService<File> {

    /**
     * 上传文件
     *
     * @param file 文件
     * @return 结果
     */
    boolean uploadFile(MultipartFile file);

    /**
     * 删除文件
     *
     * @param fileId 文件Id
     * @return 结果
     */
    boolean deleteFile(Long fileId);

    /**
     * 重命名文件
     *
     * @param req 参数
     * @return 结果
     */
    boolean renameFile(RenameFileReq req);

    /**
     * 获取Onlyoffice配置信息
     *
     * @param fileId 文件ID
     * @param mode   模式
     * @param userId 用户ID
     * @return Onlyoffice配置信息
     */
    Config getOnlyOfficeConfig(Long fileId, Mode mode, Long userId);
}
